package ru.chaykin.graphdrawers;

import javax.microedition.khronos.opengles.GL10;

import android.graphics.Color;

public class Pen {
	private float width = 1;
	private int style = 2;	//Значения по умолчанию
	private int color = 0;
	
	public Pen(String pen, String sep) {
		if (pen != null) {
			String[] strs = pen.trim().split(" ");
			if (strs.length >= 2 && strs[0].equalsIgnoreCase("pen")) {
				String tmp = strs[1].substring(1, strs[1].length()-1);
				strs = tmp.split(sep);
				try {
					if (strs.length > 0)
						width = Float.parseFloat(strs[0]);
					if (strs.length > 1)
						style = Integer.parseInt(strs[1]);
					if (strs.length > 2)
						color = Integer.parseInt(strs[2]);
				} catch (NumberFormatException e) {
					//Если произошла исключительная ситуация, просто оставляем значения по умолчанию
				} 
			}
		}
	}
	
	public Pen (float width, int style, int color) {
		this.width = width;
		this.style = style;
		this.color = color;
	}
	
	public Pen() {}

	public void applayToScene(GL10 gl) {
		//TODO Работа со стилями линий
		gl.glColor4f(Color.red(color) / 256.0f, Color.green(color) / 256.0f, Color.blue(color) / 256.0f, 0);
	    gl.glLineWidth(width);
	}

	public float getWidth() {
		return width;
	}
	
	public int getStyle() {
		return style;
	}
	
	public int getColor() {
		return color;
	}
	
	public void reinitColor(int color) {
		this.color = color;
	}
}
